System, method and apparatus for engine control

ABSTRACT

System, method, and apparatus for controlling performance of an engine in response to a set of outputs from a device to an engine control unit. The engine control unit receives profile parameters that are related to outputs of the device. The engine control unit receives a first signal from a device, engages a high idle functionality in response to a first value of the first signal, and engages a high performance functionality in response to a second value of the first signal.

FIELD OF THE INVENTION

The field of the invention relates to the manipulation of engine controlunits. In particular, the field of the invention relates to themanipulation of engine control units for adjusting vehicle performance.

BACKGROUND OF THE INVENTION

Modern vehicles include engine control units to electronically controlseries of actuators with of the internal combustion engine within thevehicle. The engine control unit reads values from multiple sensors ofthe vehicle and interprets the data using multidimensional performancemaps and look up tables stored in a profile to determine performancesettings that will be used to control the actuators and the performanceof the engine. The electronic control unit can control air-fuelmixtures, ignition timing, and the idle speed of the engine.

A problem with modern engine control units is that they cannot beupdated while the vehicle is being operated and do not provide simpleaccess to high idle and high performance modes during vehicle operation.

SUMMARY

System, method, and apparatus for controlling performance of an enginein response to a set of outputs from a device by an engine control unit.The engine control unit receives profile parameters that are related tooutputs of the device. The engine control unit receives a first signalfrom a device, engages a high idle functionality in response to a firstvalue of the first signal, and engages a high performance functionalityin response to a second value of the first signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed embodiments will described with reference to theaccompanying drawings. Like pieces in different drawings carry the samenumber.

FIG. 1 is a block diagram of a system for changing the performancecharacteristics of a vehicle.

FIG. 2 is a circuit diagram of a device for changing the performancecharacteristics of a vehicle.

FIG. 3 is a sequence diagram of a system that changes the performancecharacteristics of a vehicle.

FIG. 4 is a diagram of a method for changing the performancecharacteristics of a vehicle.

DETAILED DESCRIPTION

It will be appreciated by those skilled in the art that aspects of thepresent disclosure may be illustrated and described herein in any of anumber of patentable classes or context including any new and usefulprocess, machine, manufacture, or composition of matter, or any new anduseful improvement thereof. Therefore, aspects of the present disclosuremay be implemented entirely in hardware, entirely in software (includingfirmware, resident software, micro-code, etc.) or combining software andhardware implementation that may all generally be referred to herein asa “circuit,” “module,” “component,” or “system.” Further, aspects of thepresent disclosure may take the form of a computer program productembodied in one or more computer readable media having computer readableprogram code embodied thereon.

Any combination of one or more computer readable media may be utilized.The computer readable media may be a computer readable signal medium ora computer readable storage medium. For example, a computer readablestorage medium may be, but not limited to, an electronic, magnetic,optical, electromagnetic, or semiconductor system, apparatus, or device,or any suitable combination of the foregoing. More specific examples ofthe computer readable storage medium would include, but are not limitedto: a portable computer diskette, a hard disk, a random access memory(“RAM”), a read-only memory (“ROM”), an erasable programmable read-onlymemory (“EPROM”), an electronically erasable programmable read-onlymemory (“EEPROM”), a flash memory, an appropriate optical fiber with arepeater, a portable compact disc read-only memory (“CD-ROM”), anoptical storage device, a magnetic storage device, or any suitablecombination of the foregoing. Thus, a computer readable storage mediummay be any tangible medium that can contain, or store a program for useby or in connection with an instruction execution system, apparatus, ordevice.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, Objective-C, C++,C#, VB.NET, Python or the like, conventional procedural programminglanguages, such as the “C” programming language, Visual Basic, Fortran2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such asPython, PHP, HTML, AJAX, Ruby and Groovy, or other programminglanguages. The program code may execute entirely or partially on one ormore of the devices of the system.

Aspects of the present disclosure are described with reference toflowchart illustrations and/or block diagrams of methods, systems, andcomputer program products according to embodiments of the disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable instruction execution apparatus,create a mechanism for implementing the functions/acts specified in theflowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that when executed can direct a computer, otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions when stored in thecomputer readable medium produce an article of manufacture includinginstructions which when executed, cause a computer to implement thefunction/act specified in the flowchart and/or block diagram block orblocks. The computer program instructions may also be loaded onto acomputer, other programmable instruction execution apparatus, or otherdevices to cause a series of operational steps to be performed on thecomputer, other programmable apparatuses or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Referring to FIG. 1, system 100 is designed to change the performancecharacteristics of a vehicle during the operation of the vehicle. Inorder to do so, device 102 is installed in the vehicle and profileparameters 158 are loaded into memory 128 of engine control unit (ECU)124. System 100 includes device 102, ECU 124, and tuner 152. System 100optionally includes fuel temperature sensor system 140. The profilesettings are used by ECU 124 to determine, calculate, and generateengine performance settings that are used to operate the engine of thevehicle. In a preferred embodiment, engine performance settings includevalve open timings, valve close timings, throttle settings, boostpressure settings, and ignition timings.

Device 102 includes one or more inputs that can be manually operated andseveral outputs that can be analog or digital and can be electrical oroptical. In a preferred embodiment, device 102 includes three inputs104, 106 and 108 and four outputs 110, 112, 114 and 116.

Input switch 104 includes at least a single poll single throw switch,the operation of which controls high idle digital output 110 and highperformance analog output 114. In a preferred embodiment, input switch104 is a mechanical multi-position rotary switch having four (4) lockingpositions. Input 106 is a spring return momentary push button switch,the operation of which controls optical output 116. Input 108 is avaristor that provides an analog output signal that is utilized by highidle analog output 112.

High idle digital output 110 is a digital electrical output thatindicates whether the high idle mode and is controlled by input switch104.

High idle analog output 112 is an analog electrical output thatidentifies the high idle mode desired RPM parameter when the high idlemode is enabled. High idle analog output 112 is controlled by input 108.

High performance analog output 114 is an analog electrical output thatsystem 100 uses to identify the level of performance when the highperformance mode is active. The analog output of high performance analogoutput 114 is controlled by input switch 104.

Optical output 116 is a digital optical output. In a preferredembodiment, optical output 116 is a light emitting diode that indicateswhether input 106 is activated. Activation of input 106 tests whetherdevice 102 has been properly connected to the power system of thevehicle. When device 102 has not been properly connected to the powersystem with vehicle, optical output 116 is not illuminated.

High idle digital output 110, high idle analog output 112 and highperformance analog output 114 are respectively connected to high idledigital input 132, high idle analog input 134 and high performanceanalog input 136 of ECU 124 through connections 118, 120 and 122.Connection 122 between high performance analog output 114 of device 102and high performance analog input 136 of ECU 124 takes the place ofconnection 148 from fuel temperature sensor system 140 to ECU 124, asshown by disconnect 150.

The outputs from device 102 provide voltage signals that range fromabout 0 volts to about 12 volts based on the ignition power. The voltagesignals from device 102 are buffered, clamped, and reduced down to about0 volts or 5 volts internally by ECU 124 protect the internal lowvoltage circuitry and references within ECU 124.

ECU 124 controls one or more systems and devices related to the engineof a vehicle. In a preferred embodiment ECU 124 is used to control theperformance of the engine by adjusting one or more parameters, settings,and timings related to the actuators that operate the engine. ECU 124reads values from multiple sensors, devices, and systems within thevehicle, compares those values to multidimensional performance maps andlook up tables, and adjusts the timings, settings, and parameters basedon the values identified using the lookup tables and multidimensionalperformance maps.

ECU 124 includes at least one processor 126 and at least one memory 128.Memory 128 includes data, codes, and instructions that, when executed byprocessor 126, cause ECU 124 to operate the engine of the vehicle andinteract with other systems, devices, modules, and components using oneor more input output ports. Memory 128 also stores profile parameters130 which contain the parameters, values, and instructions that form acalibration, which is stored in an ECU profile that is used by ECU 124to operate the engine of the vehicle. Profile parameters 130 can be readfrom memory 128 and transmitted by ECU 124 to an external system ordevice and profile parameters 130 can be overwritten with differentprofile parameters, such as those from tuner 152.

In a preferred embodiment, profile parameters 130 are not the originallyinstalled factory default parameters since the factory defaultparameters do not support device 102. Rather, the original parametershave been replaced by updated parameters that allow for the use andoperation of device 102 to control the high idle and high performancefunctionality. In a preferred embodiment, the updated parameters includeperformance increasing adjustments based on a fuel temperaturemeasurement signal that has been overridden by high performance analogoutput 114 of device 102 to control the high performance functionality.When the fuel temperature measurement signal supplied by device 102 isat a minimum or normal value (e.g., 0 volts) the profileparameters—including one or more values, lookup tables, and maps thatreference maximum allowed torque vs measured fuel temp—are set so thatECU 124 will provide stock engine performance. Profile parameters 130are set so that, as the fuel temperature measurement signal rises up toabout 5 volts, ECU 124 will provide increasing performance for higherfuel temperature readings. In a preferred embodiment, there are discretelevels of performance that each have a range of voltages that areutilized by ECU 124 to control the performance of the vehicle, anexample of which is shown in Table 1 below.

TABLE 1 Threshold Voltage range Performance Level First below 1 voltStock performance Second 1 to 2 volts fourth highest performance Third 2to 3 volts third highest performance Fourth 3 to 4 volts second highestperformance Fifth above 4 volts Highest performance

ECU 124 includes high idle digital input 132, high idle analog input134, high performance analog input 136 and digital input 138. In apreferred embodiment, high idle digital input 132 and high idle analoginput 134 are used to control a high idle and high performance functionsand are connected to high idle digital output 110 and high idle analogoutput 112 with connections 118 and 120, respectively, of device 102.High idle digital input 132 is configured as a digital input port andhigh idle analog input 134 is configured as an analog port.

When high idle digital input 132 provides a high input, ECU 124 engagesthe high idle functionality. The amplitude of the analog signal receivedfrom high idle analog input 134 identifies the idle RPM value that ECU124 will use when the high idle functionality is engaged. When the highidle functionality is engaged, ECU 124 will adjust other enginesettings, such as the throttle position, to bring the measured RPM valueof the engine to the desired RPM value that is encoded as the amplitudeof the analog signal received with high idle analog input 134.

When high idle digital input 132 provides a low input, ECU 124 does notengage the high idle functionality and engages in the high performancefunctionality that is based on the signal received from high performanceanalog input 136. High performance analog input 136 is configured as ananalog input port that receives an analog signal that is utilized by ECU124 to control performance characteristics of the vehicle. Highperformance analog input 136 is connected to high performance analogoutput 114 of device 102 with connection 122. Additionally, connection148 between high performance analog input 136 of ECU 124 and inputoutput port 146 of fuel temperature sensor system 140 is disconnected asshown by disconnect 150. In a preferred embodiment, high performanceanalog input 136 is configured to receive fuel temperature measurementvalues that ECU 124 uses with one more look up tables to identifyactuator timings that ECU 124 will use to operate the actuators of theengine of the vehicle.

Digital input 138 is configured as a digital input output port. Digitalinput 138 is used to transmit and receive profile parameters 130 to andfrom external devices, such as tuner 152, utilizing a CAN bus computernetwork.

Fuel temperature sensor system 140 is a sensor system that has beendisconnected from ECU 124 to allow device 102 to control the highperformance functionality. In a preferred embodiment, fuel temperaturesensor system 140 is a fuel temperature measurement system that does nothave a processor, memory, logic within it and is a passive thermistorthat is installed inline on the fuel feed pipe to measure fueltemperature. The measurement values detected by fuel temperature sensorsystem 140 are provided via input output port 146 to ECU 124 whenconnection 148 between input output port 146 of fuel temperature sensorsystem 140 and high performance analog input 136 of ECU 124 is notdisconnected, i.e., when disconnect 150 is not present. An additionalembodiment of fuel temperature sensor system 140 optionally includesprocessor 142, memory 144, and input output port 146. Memory 144 storesdata, code, and instructions that when executed by processor 142,generate measurement values related to the vehicle and are optimallystored in memory 144.

Tuner 152 is an external device that is removably connected to ECU 124and is used to monitor, control, and reprogram ECU 124. Tuner 152includes at least one processor 154, at least one memory 156, and atleast one input output port 160. Memory 156 includes data, codes, andinstructions that, when executed by processor 154, cause tuner 152 toperform several functions including: reprogramming ECU 124, reading datafrom ECU 124, and displaying data received from ECU 124. Memory 156stores profile parameters 158 that are collectively referred to as anECU profile. Memory 156 stores one or more ECU profiles that can bedownloaded to ECU 124. When profile parameters 158 are downloaded to ECU124 and are utilized by ECU 124, the operation of device 102 with ECU124 is enabled so that high idle digital output 110, high idle analogoutput 112, high performance analog output 114 and optical output 116 ofdevice 102 can control ECU 124 to operate with high performance and highidle functionality.

In a preferred embodiment, device 102 is installed inside a cabin areaof the vehicle near the dashboard. Installation within the cabin areaallows for the performance of the vehicle to be changed during operationof the vehicle by manipulating the inputs of device 102. To installdevice 102, wires are routed from high idle digital output 110, highidle analog output 112 and high performance analog output 114 of device102 to ECU 124, which is inside an engine bay of the vehicle. In anoptional embodiment, one or more of the ports of ECU 124 already havewires that are routed to the cabin area of the vehicle and device 102 isinstalled using these wires.

Referring to FIG. 2, circuit 200 is a preferred embodiment of a circuitwithin device 102 of FIG. 1 for controlling the high idle and highperformance functionality of a vehicle. Circuit 200 includes severalcomponents that, in one embodiment are discrete components soldered to aprinted circuit board. Each component includes two or more numberedcontacts.

Header J1 202 includes six contacts. Contacts 1 and 2 of header J1 202connect to the circuits that control high performance analog output 114of device 102 and optical output 116 of device 102. Contacts 3 and 4 ofheader J1 202 connect to the circuits that control the high idle digitaloutput 110 of device 102. Contacts 5 and 6 of header J1 202 areconnected to circuit components that control the high idle analog output112 of device 102. Header J1 202 forms the external connection of device102. Each of the contacts of header J1 202 are connected to ports of ECU124, as shown in FIG. 1, so that device 102 can control the high idleand high performance functionality.

The circuit that controls high idle analog output 112 includes resistorR10 204, varistor R8 206, and resistor R6 208. Varistor R8 206 is amechanically controlled resistance that is set using a screwdriver, inone embodiment. Increasing or decreasing the resistance provided byvaristor R8 206 by mechanically turning a control knob of varistor R8206 controls the idle RPM value that the ECU 124 will attempt to matchwhen the high idle functionality is engaged. In a preferred embodiment,the high idle analog output has a minimum value of about 0 volts and amaximum value of about 5 volts, which are mapped to a minimum value ofabout 900 RPM and a maximum value of about 3,000 RPM by ECU 124.Resistor R10 204 and resistor R6 208 are optional components. In apreferred embodiment, resistor R10 204 and resistor R6 208 can be usedas optional jumpers that enable or disable the high idle analog output.Preferred values for these components are shown below in Table 2:

TABLE 2 Component Value R10 0 ohms R8 0-50 k ohms R6 0 ohms

The circuit that controls optical output 116 includes resistor R7 210,light emitting diode (LED) D1 212, and switch S2 214. Resistor R7 210 isa current limiting resistor that limits the amount of current that willflow through LED D1 212. LED D1 212 is illuminated when contacts one andtwo of switch S2 214 are closed by actuated switch S2 214 and device 102is properly connected to the power supply of the vehicle in which ECU124 is installed. The optical signal provided by LED D1 212 allows theuser to ascertain whether or not device 102 has been properly installedin the vehicle. In a preferred embodiment, resistor R7 210 is about a 1kilo ohm resistor and varistor R8 206 has a maximum resistance of about50 kilo ohms

The circuit that controls high idle digital output 110 and highperformance analog output 114 contains several components, includingfuse F1 216, switch S1 218, resistors 224, 226, 228, 230 and 232, andcapacitor C1 234. Fuse F1 216 protects the device 102 from short circuitand protects the wire from the device 102 to ECU 124 from overheatingshould a short circuit occur. In a preferred embodiment fuse F1 216, israted at about 500 milliamps (mA). Capacitor C1 234 is a decouplingcapacitor that reduces noise generated by switch S1 218 and, in apreferred embodiment, has a capacitance of about 100 nano Farads (nF).

In a preferred embodiment, switch S1 218 is a six (6) position rotaryswitch including switch S1.1 220 and switch S1.2 222. Table 3 belowshows the connections between the contacts of switch S1.1 220 and switchS1.2 222 for the six different positions that are available with switchS1 218.

TABLE 3 S1 switch Resistor position S1.1 Connection S1.2 Connectionconnected First position contacts 13 and 1 contacts 14 and 7 R5 224Second position contacts 13 and 2 contacts 14 and 8 R5 224 Thirdposition contacts 13 and 3 contacts 14 and 9 R1 226 Fourth positioncontacts 13 and 4 contacts 14 and 10 R2 228 Fifth position contacts 13and 5 contacts 14 and 11 R3 230 Sixth position contacts 13 and 6contacts 14 and 12 R4 232

Preferred values for these components are shown below in Table 4.

TABLE 4 Component Value R1 226 5.6 k ohms R2 228 2.2 k ohms R3 230 1.0 kohms R4 232 270 k ohms R5 224 25.5 k ohms

Each position of switch S1 218 is associated with one or more sets ofperformance parameters that are stored in an ECU profile that is loadedonto ECU 124, as shown in the Table 5.

TABLE 5 set of parameters in ECU S1 switch position profile Performancelevel First position fifth set of parameters high idle/factoryperformance Second position fifth set of parameters factory performanceThird position fourth set of parameters fourth highest performanceFourth position third set of parameters third highest performance Fifthposition second set of parameters second highest performance Sixthposition first set of parameters highest performance

The first and second positions are associated with the same set ofperformance parameters and each of the third through sixth positions areassociated with a different sets of performance parameters. In apreferred embodiment, the first and second positions are associated withstock factory performance parameters and each of the third through sixthpositions are associated with sets of parameters that yield higherperformance than the stock factory performance parameters.

When switch S1 218 is in the first position, high idle digital output110 of device 102 provides a high voltage signal output that causes ECU124 to enable the high idle functionality by connecting contact 13 tocontact 1 of switch S1 218 to close the circuit between contacts 3 and 4of header J1 202. When switch S1 218 is in the second through sixthpositions, high idle digital output 110 of device 102 provides a lowvoltage signal output that causes ECU 124 to disable the high idlefunctionality by connecting contact 13 to one of contacts 2 through 6creating an open circuit.

High performance analog output 114 is controlled by switch S1.2 222 witha set of resistors that includes resistors R5 224, R1 226, R2 228, R3230 and R4 232. When switch S1 218 is in the first or second position,switch S1.2 222 connects contact 14 to either contact 7 or contact 8,either of which connects resistor R5 224 in series between contacts 1and 2 of header J1 202 forming a closed circuit when device 102 isproperly installed. Resistor R5 224 causes device 102 to send a voltagesignal on high performance analog output 114 that corresponds with thelowest or factory level of performance. In this way, when the high idlefunctionality is engaged or when the lowest level of high performancefunctionality is engaged, ECU 124 will provide the same factory defaultperformance. When switch S1 218 is in one of the third through sixthpositions, one of resistors R5 224, R1 226, R2 228, R3 230 and R4 232are respectively connected to contacts one and two of header J1 202 toform a complete circuit when properly installed. In the third position,resistor R1 226 causes device 102 to generate a signal that causes ECU124 to operate the engine of the vehicle at a performance that is higherthan when switch S1 218 is in either the first or second position. Eachsuccessive position of switch S1 218 connects a lower resistance inseries that causes device 102 to provide a different voltage signal thatcauses ECU 124 to increase performance based upon the different voltagesignal. In a preferred embodiment, as the resistance decreases, theperformance of the engine as controlled by ECU 124 increases by usingdifferent parameters and lookup table values based on the differentvoltage signals.

Referring to FIG. 3, sequence 300 is performed with tuner 152, device102, and ECU 124 to control the high idle and high performancefunctionality provided by ECU 124 by utilizing device 102 and profileparameters 158 provided by tuner 152.

At step 322, tuner 152 generates profile parameters. In a preferredembodiment, the profile parameters are downloaded from the internet totuner 152. Tuner 152 may then be used to display and further adjust theperformance parameters. The profile parameters include one or more setsof performance parameters that are each associated with a level ofperformance.

At step 324, tuner 152 sends the profile parameters to ECU 124. Profileparameters are sent through connection 162 between input output port 160of tuner 152 and digital input 138 of ECU 124 using the onboarddiagnostic (OBD II) protocol.

At step 326, the profile parameters are stored by ECU 124. In apreferred embodiment, the old profile parameters are discarded by ECU124. In an additional embodiment, ECU 124 includes additional storagespace in which to store multiple ECU profiles that each have their ownprofile parameters and sets of performance parameters.

At step 328, the engine is started by ECU 124. The engine is started inresponse to user activation of the ignition system of the vehicle.

At step 330, high idle digital output is set to true by device 102. In apreferred embodiment, a user of device 102 mechanically operates aswitch S1 218 to be in the first position to engage the high idlefunctionality.

At step 332, device 102 sends the high idle digital output, which isreceived by ECU 124.

At step 334, the high idle function is engaged by ECU 124. ECU 124continuously monitors the high idle digital output and engages the highidle functionality in response to changes of the high idle digitaloutput. In a preferred embodiment, the digital voltage signal that isused as the high idle digital output is either set to about 5 volts fora “true” value or to about 0 Volts for a “false” value. Transitioning tothe 5-volt true value triggers the engagement of the high idlefunctionality and transitioning to the 0 volt false value triggers thedisengagement of the high idle functionality. In order to engage thehigh idle mode, several vehicle status checks must be performed toensure that the vehicle is not in gear and is not moving. Status of thetransmission and the speed of the vehicle are checked by ECU 124 priorto engaging the high idle functionality. Parking brake status is checkedto make sure parking brake is applied and service-brake status ischecked to make sure that the service brake is released.

At step 336, device 102 sets high idle analog output. The high idleanalog output is an analog voltage signal that can be anywhere in therange from about 0 to about 5 volts. The value of the voltage signal isset by turning a screw on varistor R8 206, which adjusts the amount ofresistance provided by varistor R8 206.

At step 338, device 102 sends the high idle analog output, which isreceived by ECU 124.

At step 340, engine performance is updated by ECU 124. After engagingthe high idle mode, ECU 124 for continuously checks for the value of thehigh idle analog voltage signal provided by device 102. The voltagevalues of the high idle analog voltage signal correspond to desired RPMvalues for the engine while the engine is in the high idle mode andperforming the high idle functionality. ECU 124 maps the high idleanalog voltage signal to a desired RPM value, compares the value of thedesired RPM value to the current measured RPM value of the engine, andadjusts the throttle control of the vehicle to bring the measured RPMvalue of the vehicle closer to the desired RPM value identified by thehigh idle analog voltage signal.

At step 342, high idle digital output is set to false by device 102.Setting the high idle digital output to false will cause ECU 124 todisengage the high idle functionality and to engage the high performancefunctionality. To set the high idle digital output to false, switch S1218 is manipulated from being in the first position to being in one ofthe second through sixth positions.

At step 344, the high idle digital output is transmitted from device 102and subsequently received by ECU 124.

At step 346, ECU 124 engages the high performance function. Afterdetecting the transition of the high idle digital output from being trueto being false, ECU 124 disengages the high idle functionality andengages the high performance functionality.

At step 348, high performance analog output is set by device 102. Thehigh performance analog output is a voltage signal in the range of about0 to about 5 volts. In a preferred embodiment, device 102 provides fivediscrete levels for the high performance analog output voltage signal.

At step 350, high performance analog output is sent from device 102 toECU 124.

At step 352, ECU 124 updates engine performance. The value of the highperformance analog output voltage signal is included as one of a set ofmeasured values that ECU 124 uses to determine the engine settings touse for the engine to run. The engine settings are determined by usingthe set of measurements as inputs to one or more lookup tables, theoutputs of which include the engine settings used by ECU 124.

Referring to FIG. 4, method 400 controls the engine settings used tooperate the engine of a vehicle by ECU 124 and thereby controls theperformance of the engine and the vehicle. Method 400 runs continuouslyon ECU 124 after the engine has been started and after an ECU profilewith parameters, settings, code, and instructions that allow for the useof device 102 to control the performance of the engine has been loadedonto memory 128 of ECU 124. The ECU profile used by ECU 124 includesfive sets of parameters. Each set of parameters includes one or moreadjustments to the look up tables, values, parameters, and settings thatare used to determine the engine settings for operating the engine. Thefifth set of parameters is used for stock factory performance, the firstset of parameters is used for the highest engine performance, and thesecond through fourth sets of parameters provide performance levelsbetween the first (highest performance) and fifth (stock performance)sets of parameters.

At step 402, ECU 124 determines whether high idle digital input 132 istrue or false. High idle digital input 132 is received as a voltagesignal that is either about 0 volts for false or about 5 volts for true(the 5 volt level is internal to ECU 124 after being buffered, clamped,and reduced from the original 12 volt signal provided by device 102).When high idle digital input 132 is true, step 402 proceeds to step 404,or otherwise precedes to step 408.

At step 404, ECU 124 has identified that high idle digital input 132 istrue and engages the high idle mode to perform the high idlefunctionality. As a part of engaging the high idle functionality, ECU124 measures high idle analog input 134. High idle analog input 134 isan analog voltage signal that ranges from about 0 volts to about 5volts. The voltage range for high idle analog input 134 is mapped to arange of desired RPM values so that a voltage of about 0 volts is mappedto about 900 RPM and a voltage of about 5 volts is mapped to about 3,000RPM and linear interpolation is used for values between these twopoints.

At step 406, ECU 124 selects engine control settings based on high idledigital input 132 and the fifth set of parameters. In a preferredembodiment, the analog voltage signal is passed through an analog todigital converter that converts the analog voltage to a first binaryvalue. The first binary value, in a preferred embodiment, is an 8-bitunsigned integer where a value of 0 corresponds to a desired RPM valueof about 900 RPM and a value of 255 corresponds to a desired RPM valueof about 3,000 RPM, as seen in Table 6 below.

TABLE 6 Analog input 8-bit AD Desired voltage Conversion RPM Minimumvalue 0 0 900 Maximum value 5 255 3,000Additional embodiments have different values for the minimum and maximumdesired RPM values.

The first binary value is compared to a second binary value thatcorresponds to the current engine RPM value. The engine RPM value is a16-bit unsigned integer that scales from about 0 to about 16383.75 sothat when the second binary value is divided by 4, that quotient is thecurrent RPM of the engine, which is shown in Table 7 below.

TABLE 7 16-bit RPM value Engine RPM Minimum value 0 0 Maximum value65535 16383.75

To compare the desired RPM with the current engine RPM, a third binaryvalue is formed from the second binary value using the equation below.

$\begin{matrix}{B = {{A*\frac{35}{17}} + 225}} & {{Eq}.\mspace{14mu} 1}\end{matrix}$A is the 8-Bit unsigned integer that represents the desired RPM from aminimum of about 900 to a maximum of about 3,000 and B is a 16-bitunsigned integer value that has the same scale as the 16-bit unsignedinteger value for the engine RPM. In a preferred embodiment, theconversion from the first binary value to the third binary value isperformed using a lookup table instead of using discrete calculations.

After rescaling and normalizing the desired RPM value, ECU 124 comparesthe desired RPM value to the current engine RPM value. In a preferredembodiment, this comparison is performed by subtracting the engine RPMvalue from the desired RPM value to create an RPM difference value. Whenthe RPM difference value is positive, ECU 124 increases the value forthe throttle control of the vehicle; when the RPM difference value isnegative, ECU 124 decreases the value for the throttle control of thevehicle; and, when the RPM difference value is 0, ECU 124 does notchange the value for the throttle control of the vehicle. In a preferredembodiment, the increase or decrease to the value of the throttlecontrol of the vehicle is based on the magnitude of the RPM differencevalue.

At step 408, ECU 124 receives and measures high performance analog input136. In a preferred embodiment, high performance analog input 136 is avoltage signal that ranges from about 0 volts to about 5 volts. Thevoltage signal is converted to an 8-bit unsigned integer using an analogto digital converter. The minimum value output from the analog todigital converter of 0 correlates to a temperature of −40 degreesCelsius and the maximum output value from the analog to digitalconverter of 255 correlates to 215 degrees Celsius, which is shown inTable 8 below.

TABLE 8 Analog input 8-bit AD Fuel voltage Conversion temperatureMinimum value 0 0 −40 Maximum value 5 255 215

The following equation converts the numerical output from the analog todigital converter to the actual temperature that is identified by highperformance analog input 136.FUEL_TEMPERATURE=INPUT−40  Eq. 2Instead of being provided by fuel temperature sensor system 140, highperformance analog input 136 is provided by device 102 and may notcorrelate with the actual fuel temperature that is measured by fueltemperature sensor system 140.

At step 410, when the digital value for high performance analog input136 is within a first predefined range, step 410 proceeds to step 412.At step 412, ECU 124 selects engine settings based on the digital valueof high performance analog input 136 and the first set of parameters. Ina preferred embodiment, steps 410 and 412 are performed by using alookup table that uses the digitally converted value of the highperformance analog input 136 as the address of an array and then usesthe value located at that address as the selected engine setting.

In a preferred embodiment, several lookup tables are adjusted to providethe performance improvement for the first set of parameters. The processof selecting the engine settings used to operate the engine includesdetermining the current value of the throttle control, the current RPMlevel of the engine, and identifying a desired level of torque. One ormore of these values are used as inputs to one or more lookup tables andthe outputs from those look up tables are used to identify the value forthe throttle control to achieve the desired level of torque. In apreferred embodiment, the first set of parameters, as well as the secondthrough fourth sets of parameters, alter the ratios of desired torquelevel to required fuel amount. For example, the fifth set of parameterscorresponds with stock factory set of parameters and has the value of700 foot pounds of torque relating to 110 cubic millimeters of fuel perminute, whereas the first set of parameters for high performance relatesa desired torque level of 700 foot pounds to a value of 150 cubicmillimeters per minute of fuel so that more fuel will be provided whenusing the first set of parameters than when using the fifth set ofparameters to achieve higher performance (torque) with the engine. Inthis way, the first through fourth sets of parameters reset the curvesthat are used in the lookup tables and multidimensional maps used toconvert from a desired level of torque to a required amount of fuel.

At step 414, if the digital value for analog input 136 is within asecond predefined range, then step 414 proceeds to step 416. At step416, ECU 124 select engine settings based on the digital value of highperformance analog input 136 and the second set of parameters in amanner that is similar to that described in step 412. The second set ofparameters used in step 416 provides a lower level of engine performanceas compared to the first set of parameters from step 412, but provides ahigher level of performance compared to the third set of parameters fromstep 420.

At step 418, when the digital value for high performance analog input136 is in a third range, step 418 precedes to step 420 to select enginesettings based upon the digital value for high performance analog input136 and the third set of parameters. The third set of parametersprovides less performance than the second set of parameters and providesmore performance than the fourth set of parameters.

At step 422, if the digital value for high performance analog input 136is within a fourth range, then step 422 proceeds to step 424 and selectsengine settings based on the digital value for high performance analoginput 136 and the fourth set of parameters, which provides lessperformance than the third set of parameters and more performance thanthe fifth set of parameters.

Otherwise, when the digital value for high performance analog input 136is not within the fourth range (or the first through third ranges), step422 precedes to default step 426. At step 426, the digital value and theengine settings are selected based upon the digital value for highperformance analog input 136 and the fifth set of parameters whichcorresponds to the stock set of parameters for the vehicle.

At step 428, after selecting the engine settings at any one of steps406, 412, 416, 420, 424, and 426, method 400 uses the selected settingsto operate the engine. The selection of the settings is based upon onemore look up tables as well as inputs provided by device 102 and bydevices, sensors, and systems of the vehicle, as described above. Atstep 428 the engine is operated based on the new parameters. The methodthen returns to step 402.

It will be appreciated by those skilled in the art that modificationscan be made to the embodiments disclosed and remain within the inventiveconcept. Therefore, this invention is not limited to the specificembodiments disclosed, but is intended to cover changes within the scopeand spirit of the claims.

The invention claimed is:
 1. An apparatus for controlling an enginecontrol unit, the apparatus comprising: A set of inputs including aswitch that controls one or more outputs of a set of outputs; a firstposition of the switch, which sets a first output of the set of outputsto a first value to cause the engine control unit to engage a high idlefunctionality; and, a second position of the switch, which set the firstoutput of the set of outputs to a second value to cause the enginecontrol unit to engage a high performance functionality.
 2. Theapparatus of claim 1, further comprising: a second input of the set ofinputs that controls a second output of the set of outputs.
 3. Theapparatus of claim 2, further comprising: the second input, whenmechanically adjusted, correspondingly adjusts and analog signal voltageof the second output.
 4. The apparatus of claim 3 wherein the secondoutput causes the engine control unit to adjust an idle setting of thevehicle.
 5. The apparatus of claim 4 wherein the second input is from avaristor.
 6. The apparatus of claim 5 wherein the switch has a thirdposition, a fourth position, a fifth position, and a sixth position. 7.The apparatus of claim 6 wherein the first position and the secondposition correspond to a set of parameters in an engine control unitprofile loaded on the engine control unit.
 8. The apparatus of claim 7wherein: the third position corresponds to a fourth set of parameters inthe engine control unit profile loaded on the engine control unit; thefourth position corresponds to a third set of parameters in the enginecontrol unit profile loaded on the engine control unit; the fifthposition corresponds to a second set of parameters in the engine controlunit profile loaded on the engine control unit; and, the sixth positioncorresponds to a first set of parameters in the engine control unitprofile loaded on the engine control unit.
 9. The apparatus of claim 8,wherein the first set of parameters in the engine control unit profileis associated with a higher performance by the engine control unit thanthe second set of parameters through fifth set of parameters.
 10. Theapparatus of claim 9, wherein the fifth set of parameters is associatedwith a factory performance setting by the engine control unit.
 11. Theapparatus of claim 10, wherein the second set of parameters throughfourth set of parameters is associated with a performance level betweenthe performance levels associated with the first set of parameters andfifth set of parameters.
 12. A method of installing a device thatcontrols an engine control unit, the method comprising: connecting afirst output of the device to a first port of the engine control unit;connecting a second output of the device to a second port of the enginecontrol unit; and, connecting a third output of the device to a thirdport, the third port configured to receive an output of a sensor system;and, removing the connection between the output of the sensor system andthe third port.
 13. The method of claim 12, further comprising:connecting a tuner output to fourth port of the engine control unit. 14.The method of claim 13, further comprising: transferring an enginecontrol unit profile from the tuner to the engine control unit.
 15. Themethod of claim 14, further comprising: disconnecting the tuner outputfrom the fourth Port of the engine control unit after transferring theengine control unit profile.
 16. The method of claim 15, furthercomprising: selecting a first position of a switch of the device tocause the engine control unit to engage a high idle functionality; and,selecting a second position of the switch of the device to cause theengine control unit to engage a high performance functionality.
 17. Amethod of controlling performance of an engine through an engine controlunit having a set of profile parameters, in response to a set of outputsfrom a device, the method comprising: receiving a first signal from thedevice; engaging a high idle functionality in response to a first valueof the first signal; and, engaging a high performance functionality inresponse to a second value of the first signal.
 18. The method of claim17, further comprising: converting the first signal from an analog valueto a first binary value; and, generating a second binary value from thefirst binary value and the equation of $B = {{A*\frac{35}{17}} + 225}$where A is the first binary value and B is the second binary value. 19.The method of claim 18, further comprising: receiving a second signalfrom the device; converting the second signal from an analog value to athird binary value; and, identifying an engine setting by using thethird binary value as an input to a lookup table of the set of profileparameters.